/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ec.medical.managers;

import com.ec.medical.entidades.Perfil;
import com.ec.medical.entidades.Prestador;
import com.ec.medical.entidades.Usuario;
import com.ec.medical.enumeracion.RolesEnum;
import com.ec.medical.servicio.PerfilServicioLocal;
import com.ec.medical.servicio.UsuarioServicioLocal;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.bean.ManagedProperty;
import javax.faces.context.FacesContext;

/**
 *
 * @author Administrador
 */
public abstract class DataManagerBase implements Serializable {
   @ManagedProperty(value = "#{sesionDataManager}")
    protected SesionDataManager sesionDataManager;
    
    @EJB
    private UsuarioServicioLocal usuarioServicio;
    @EJB
    private PerfilServicioLocal perfilServicio;
    

    private Perfil consultarPerfil(RolesEnum rolesEnum) {
        Usuario usuario = usuarioServicio.obtenerUsuarioPorUserName(FacesContext.getCurrentInstance().getExternalContext().getRemoteUser());
        return perfilServicio.obtenerPerfilPorUsuarioYRol(usuario, rolesEnum);
    }
    
    protected Prestador obtenerPrestadorLogueado(){
        return consultarPerfil(RolesEnum.PRESTADOR).getPrestador();
    }
    
    public SesionDataManager getSesionDataManager() {
        return sesionDataManager;
    }

    public void setSesionDataManager(SesionDataManager sesionDataManager) {
        this.sesionDataManager = sesionDataManager;
    }
}
